1. Field of the Invention
Embodiments of the present invention relate generally to video processing and more specifically to a method and system for blending rendered images from multiple applications.
2. Description of the Related Art
Unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
To enhance a user's viewing experience of computer-generated images, more and more computing devices are relying on a dedicated graphics subsystem with not one but multiple graphics processing units (“GPUs”) to perform rendering operations. The GPUs can be configured to perform operations such as split frame rendering (“SFR”) or alternate frame rendering (“AFR”) to scale up the number of pixels computed by the graphics subsystem. The GPUs can also be configured to efficiently perform anti-aliasing (“AA”) operations to improve image quality. Some of the conventional usage models involving multiple GPUs are shown in FIG. 1.
To illustrate, suppose there are two GPUs, GPU0 and GPU1 in the graphics subsystem. Under the usage model 1, both the GPU0 and GPU1 are configured to carry out the rendering operations associated with the same application and scan out the rendered images to the only display device that is attached to the computing device and recognized by both the application and also the operating system executing on the computing device. The aforementioned SFR and AFR operations typically fall under this usage model 1. Under the usage model 2, each of GPU0 and GPU1 is attached to a distinct display device. Here, even though there are physically two GPUs and two display devices, the application and also the operating system executing on the computing device still only recognize one GPU and one display device. Each GPU is configured to compute one half of the surface that is being rendered and scan out the rendered images to its attached display device. The usage model 3 is similar to the usage model 1, except one of the GPUs is designated to pull, blend, and scan out the blended results associated with the same frame and also the same application to the display device. The AA operation discussed above generally falls under this usage model 3.
As the foregoing illustrates, none of the usage models shown in FIG. 1 and described above permits the multiple GPUs to perform operations for different applications and still scan out the rendered images to a single display device. Thus, especially for a user with access to a single display device but with needs to maneuver multiple graphics-intensive operations, what is needed is a way to blend rendered images from multiple applications.